package com.elric.mall.mapper;

import com.elric.mall.model.ProjectManage;
import com.elric.mall.model.ProjectManageExample;
import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

@Repository
@Mapper
public interface ProjectManageMapper {
    long countByExample(ProjectManageExample example);

    int deleteByExample(ProjectManageExample example);

    int deleteByPrimaryKey(String id);

    int insert(ProjectManage record);

    int insertBatch(List<ProjectManage> records);

    int insertSelective(ProjectManage record);

    List<ProjectManage> selectByExampleWithBLOBs(ProjectManageExample example);

    List<ProjectManage> selectByExample(ProjectManageExample example);

    ProjectManage selectByPrimaryKey(String id);

    ProjectManage selectByProjectKey(String id);

    int updateByExampleSelective(@Param("record") ProjectManage record, @Param("example") ProjectManageExample example);

    int updateByExampleWithBLOBs(@Param("record") ProjectManage record, @Param("example") ProjectManageExample example);

    int updateByExample(@Param("record") ProjectManage record, @Param("example") ProjectManageExample example);

    int updateByPrimaryKeySelective(ProjectManage record);

    int updateByPrimaryKeyWithBLOBs(ProjectManage record);

    int updateByPrimaryKey(ProjectManage record);

    /**
     * 根据规划信息更新计划信息
     * @return
     */
    int updateInfoByPlan();

    /**
     * 根据任务信息更新计划的填报单位
     * @return
     */
    int updateTbdw();

    /**
     * 查询有关联关系的计划项目、规划项目
     * @return
     */
    List<ProjectManage> findLinkProject();
}